package org.quincy.netty.test.vo;

import java.util.Map;

import org.quincy.rock.comm.netty.NettyUtil;

import io.netty.buffer.ByteBuf;

/**
 * <b>设备消息。</b>
 * <p><b>详细说明：</b></p>
 * <!-- 在此添加详细说明 -->
 * 无。
 * <p><b>修改列表：</b></p>
 * <table width="100%" cellSpacing=1 cellPadding=3 border=1>
 * <tr bgcolor="#CCCCFF"><td>序号</td><td>作者</td><td>修改日期</td><td>修改内容</td></tr>
 * <!-- 在此添加修改列表，参考第一行内容 -->
 * <tr><td>1</td><td>wks</td><td>2018年6月27日 上午9:47:11</td><td>建立类型</td></tr>
 * 
 * </table>
 * @version 1.0
 * @author wks
 * @since 1.0
 */
public class DeviceMessage extends DeviceId {
	/**
	 * serialVersionUID。
	 */
	private static final long serialVersionUID = 4770217122489376350L;

	/**
	 * 消息内容。
	 */
	private String message;

	/**
	 * <b>获得消息内容。</b>
	 * <p><b>详细说明：</b></p>
	 * <!-- 在此添加详细说明 -->
	 * 无。
	 * @return 消息内容
	 */
	public String getMessage() {
		return message;
	}

	/**
	 * <b>设置消息内容。</b>
	 * <p><b>详细说明：</b></p>
	 * <!-- 在此添加详细说明 -->
	 * 无。
	 * @param message 消息内容
	 */
	public void setMessage(String message) {
		this.message = message;
	}

	/** 
	 * toBinary。
	 * @see org.quincy.netty.test.vo.DeviceId#toBinary(io.netty.buffer.ByteBuf, java.util.Map)
	 */
	@Override
	public ByteBuf toBinary(ByteBuf buf, Map<String, Object> ctx) {
		buf = super.toBinary(buf, ctx);
		buf = NettyUtil.writeVarchar(buf, getMessage());
		return buf;
	}

	/** 
	 * fromBinary。
	 * @see org.quincy.netty.test.vo.DeviceId#fromBinary(io.netty.buffer.ByteBuf, java.util.Map)
	 */
	@Override
	public DeviceMessage fromBinary(ByteBuf buf, Map<String, Object> ctx) {
		super.fromBinary(buf, ctx);
		setMessage(NettyUtil.readVarchar(buf));
		return this;
	}
}
